package com.rc.web.converter;

import com.rc.pojo.dto.consumer.ConsumerDTO;
import com.rc.pojo.po.Consumer;
import com.rc.pojo.vo.consumer.ConsumerLoginVO;
import com.rc.pojo.vo.consumer.ConsumerVO;
import org.mapstruct.Mapper;

/**
 * 消费者信息转换器
 * 使用MapStruct实现DTO、PO、VO之间的转换
 */
@Mapper(componentModel = "spring") // 声明为Spring组件
public interface ConsumerConverter {

    /**
     * 将消费者PO转换为VO
     * @param consumer 消费者持久化对象
     * @return 消费者视图对象
     */
    ConsumerVO toVO(Consumer consumer);

    /**
     * 将消费者DTO转换为PO
     * @param dto 消费者数据传输对象
     * @return 消费者持久化对象
     */
    Consumer dto2DO(ConsumerDTO dto);

    /**
     * 将消费者PO转换为登录VO
     * @param consumer 消费者持久化对象
     * @return 消费者登录视图对象
     */
    ConsumerLoginVO toLoginVO(Consumer consumer);
}
